# -*- coding: utf-8 -*-

import sqlite3

class Create_Bd():
     
    conn = sqlite3.connect('game')
    c = conn.cursor()
   
    #c.execute('drop table tb_modulo')
    #c.execute('drop table tb_jogador')
    #c.execute('drop table tb_pergunta')
    #c.execute('drop table tb_jogador_modulo')
       
    c.execute('create table tb_modulo ('+
              'ci_modulo serial,'+
              'ds_modulo text,'+
              'constraint pk_modulo primary key (ci_modulo))')
   
    c.execute('create table tb_jogador('+
              'ci_jogador serial,'+
              'ds_jogador text,'+
              'constraint pk_jogador primary key (ci_jogador))')
   
    c.execute('create table tb_pergunta('+
              'ci_pergunta serial,'+
              'ds_pergunta text,'+
              'ds_alternativas text,'+
              'ds_resposta text,'+
              'qtd_acerto integer,'+
              'qtd_erro integer,'+
              'cd_modulo integer,'+
              'ds_dificuldade integer,'+
              'status integer,'+
              'constraint pk_pergunta primary key (ci_pergunta),'+
              'constraint fk_modulo foreign key (cd_modulo) references tb_modulo (ci_modulo))')
   
    c.execute('create table tb_jogador_modulo('+
              'ci_jogador_modulo serial,'+
              'cd_jogador integer,'+
              'cd_modulo integer,'+
              'qtd_acerto integer,'+
              'qtd_erro integer,'+
              'constraint fk_jogador foreign key (cd_jogador) references tb_jogador (ci_jogador),'+
              'constraint fk_modulo foreign key (cd_modulo) references tb_modulo (ci_modulo),'+
              'constraint pk_jogador_modulo primary key (ci_jogador_modulo))')
    
    c.execute('''create table tb_jogador_pergunta(
                 ci_rodada integer,
                 cd_pergunta integer,
                 cd_jogador integer,
                 ds_status_resposta text,
                 constraint fk_jogador foreign key (cd_jogador) references tb_jogador (ci_jogador),
                 constraint fk_pergunta foreign key (cd_pergunta) references tb_pergunta (ci_pergunta),
                 constraint pk_jogador_pergunta primary key (ci_rodada, cd_pergunta))
                 ''')
     
    conn.commit()
    c.close()
